home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
pascal
/
memmap.zip
/
FIG.3
< prev
next >
Wrap
Text File
|
1989-05-17
|
2KB
|
40 lines
Figure 3. Structure of DOS Memory Control Block (MCB)
<-------------------------- 16-byte paragraph -------------------------->
offset
0 1 3 5 8
+----+--------+--------+------------+-----------------------------------+
| Tag| Owner | Size | | DOS 4.0: Program Name |
+----+--------+--------+------------+-----------------------------------+
Notes: 1. "Tag" is hex 4D (M) for all MCBs, except the last, which is
hex 5A (Z). Consecutive null MCBs, with tag hex 00 and size 0,
have been observed with IBM's INDCIPL.EXE/INDXMAA.SYS programs.
In some rare cases the final block may not be properly tagged.
2. "Owner" is a segment address pointer. The owner of this
block starts at address owner:0. A free block has an
owner of hex 0000.
The owner memory block follows the MCB only for a program.
3. The "Size" of the block following the MCB is given in
paragraphs. "Size" does not include the paragraph needed
for the MCB itself.
4. In DOS 4.0 when the MCB represents a program block, the 1-8
character "Program Name" is in the last 8 bytes of the MCB. If
the program name is less than 8 characters long, the name is
followed by a hex 00 character. When the MCB represents
other block types (e.g., an environment), the "Program
Name" is not present. However, the MCB of the owner
program has the name.
For DOS 3.X the "Program Name" must be found after the
environment variables in the corresponding environment block.
The "Program Name" is unknown for DOS 2.X or earlier.